RT |
您所在的位置:网站首页 › micropython machine模块 › RT |
RT-Thread 软件包-MicroPython用户手册-MicroPython库①
RT-Thread 软件包-MicroPython用户手册-MicroPython库①MicroPython 库MicroPython 标准库MicroPython 特定库
维护人:
RT-Thread 软件包-MicroPython用户手册-MicroPython库①
在 RT-Thread 移植的 MicroPython 版本中,实现了如下特定功能库: micropython – 实现 MicroPython 内部功能访问与控制 rtthread – RT-Thread 系统功能模块 machine – 硬件控制模块 machine – 与硬件相关的功能 machine 模块包含与特定开发板上的硬件相关的特定函数。 在这个模块中的大多数功能允许实现直接和不受限制地访问和控制系统上的硬件块(如CPU,定时器,总线等)。如果使用不当,会导致故障,死机,崩溃,在极端的情况下,硬件会损坏。 需要注意的是,由于不同开发板的硬件资源不同,MicroPython 移植所能控制的硬件也是不一样的。因此对于控制硬件的例程来说,在使用前需要修改相关的配置参数来适配不同的开发板,或者直接运行已经对某一开发板适配好的 MicroPython 示例程序。本文档中的例程都是基于 RT-Thread IoT Board 潘多拉开发板而讲解的。 函数 复位相关函数 machine.info() 显示关于系统介绍和内存占用等信息。 machine.rest() 重启设备,类似于按下复位按钮。 machine.reset_cause() 获得复位的原因,查看可能的返回值的常量。 中断相关函数 machine.disable_irq() 禁用中断请求。返回先前的 IRQ 状态,该状态应该被认为是一个未知的值。这个返回值应该在 disable_irq 函数被调用之前被传给 enable_irq 函数来重置中断到初始状态。 machine.enable_irq(state) 重新使能中断请求。状态参数应该是从最近一次禁用功能的调用中返回的值。 功耗相关函数 machine.freq() 返回 CPU 的运行频率。 machine.idle() 阻断给 CPU 的时钟信号,在较短或者较长的周期里减少功耗。当中断发生时,外设将继续工作。 machine.sleep() 停止 CPU 并禁止除了 WLAN 之外的所有外设。系统会从睡眠请求的地方重新恢复工作。为了确保唤醒一定会发生,应当首先配置中断源。 machine.deepsleep() 停止 CPU 和所有外设(包括网络接口)。执行从主函数中恢复,就像被复位一样。复位的原因可以检查 machine.DEEPSLEEP 参数获得。为了确保唤醒一定会发生,应该首先配置中断源,比如一个引脚的变换或者 RTC 的超时。 常数 IRQ 唤醒值 machine.IDLE machine.SLEEP machine.DEEPSLEEP 复位**machine.PWRON_RESET ** **machine.HARD_RESET ** **machine.WDT_RESET ** **machine.DEEPSLEEP_RESET ** machine.SOFT_RESET 唤醒machine.WLAN_WAKE machine.PIN_WAKE machine.RTC_WAKE … Pin dddI2CSPIUARTLCDRTCPWMADCWDTTIMERnetwork – 网络功能配置模块 wlanPIN machine.Pin machine.Pin 类是 machine 模块下面的一个硬件类,用于对引脚的配置和控制,提供对 Pin 设备的操作方法。 Pin 对象用于控制输入/输出引脚(也称为 GPIO)。Pin 对象通常与一个物理引脚相关联,他可以驱动输出电压和读取输入电压。Pin 类中有设置引脚模式(输入/输出)的方法,也有获取和设置数字逻辑(0 或 1)的方法。 一个 Pin 对象是通过一个标识符来构造的,它明确地指定了一个特定的输入输出。标识符的形式和物理引脚的映射是特定于一次移植的。标识符可以是整数,字符串或者是一个带有端口和引脚号码的元组。在 RT-Thread MicroPython 中,引脚标识符是一个由代号和引脚号组成的元组,如 Pin((“PB15”, 31), Pin.OUT_PP) 中的 (“PB15”, 31)。 构造函数 在 RT-Thread MicroPython 中 Pin 对象的构造函数如下: class machine.Pin( id, mode = -1, pull = -1,value) id :由用户自定义的引脚名和 Pin 设备引脚号组成,如 (“PB15”, 31),“PB15” 为用户自定义的引脚名,31 为 RT-Thread Pin 设备驱动在本次移植中的引脚号。 mode : 指定引脚模式,可以是以下几种: Pin.IN :输入模式 Pin.OUT :输出模式 Pin.OPEN_DRAIN :开漏模式 pull : 如果指定的引脚连接了上拉下拉电阻,那么可以配置成下面的状态: None :没有上拉或者下拉电阻。 Pin.PULL_UP :使能上拉电阻。 Pin.PULL_DOWN :使能下拉电阻。 value : value 的值只对输出模式和开漏输出模式有效,用来设置初始输出值。 方法 Pin.init(mode= -1, pull= -1, *, value, drive, alt) 根据输入的参数重新初始化引脚。只有那些被指定的参数才会被设置,其余引脚的状态将保持不变,详细的参数可以参考上面的构造函数。 Pin.value([x]) 如果没有给定参数 x ,这个方法可以获得引脚的值。 如果给定参数 x ,如 0 或 1,那么设置引脚的值为 逻辑 0 或 逻辑 1。 Pin.name() 返回引脚对象在构造时用户自定义的引脚名。 Pin.irq(handler=None, trigger=(Pin.IRQ_RISING)) 配置在引脚的触发源处于活动状态时调用的中断处理程序。如果引脚模式是, Pin.IN 则触发源是引脚上的外部值。 如果引脚模式是, Pin.OUT 则触发源是引脚的输出缓冲器。 否则,如果引脚模式是, Pin.OPEN_DRAIN 那么触发源是状态’0’的输出缓冲器和状态’1’的外部引脚值。 参数: handler 是一个可选的函数,在中断触发时调用 trigger 配置可以触发中断的事件。可能的值是: Pin.IRQ_FALLING 下降沿中断 Pin.IRQ_RISING 上升沿中断 Pin.IRQ_RISING_FALLING 上升沿或下降沿中断 Pin.IRQ_LOW_LEVEL 低电平中断 Pin.IRQ_HIGH_LEVEL 高电平中断 常量 下面的常量用来配置 Pin 对象。 选择引脚模式: Pin.IN Pin.OUT Pin.OPEN_DRAIN 选择上/下拉模式: Pin.PULL_UP Pin.PULL_DOWN None 使用值 None 代表不进行上下拉。 选择中断触发模式: Pin.IRQ_FALLING Pin.IRQ_RISING Pin.IRQ_RISING_FALLING Pin.IRQ_LOW_LEVEL Pin.IRQ_HIGH_LEVEL 示例一 控制引脚输出高低电平信号,并读取按键引脚电平信号。 from machine import Pin PIN_OUT = 31 PIN_IN = 58 p_out = Pin(("PB15", PIN_OUT), Pin.OUT_PP) p_out.value(1) # set io high p_out.value(0) # set io low p_in = Pin(("key_0", PIN_IN), Pin.IN, Pin.PULL_UP) print(p_in.value() ) # get value, 0 or 1示例二 上升沿信号触发引脚中断后执行中断处理函数。 from machine import Pin PIN_KEY0 = 58 # PD10 key_0 = Pin(("key_0", PIN_KEY0), Pin.IN, Pin.PULL_UP) def func(v): print("Hello rt-thread!") key_0.irq(trigger=Pin.IRQ_RISING, handler=func)更多内容可参考 machine.Pin 。 维护人: 华为奋斗者精神, 邮箱:[email protected] |
今日新闻 |
点击排行 |
|
推荐新闻 |
|
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |